﻿namespace Google.API.Predict.Auth
{
    /// <summary>
    /// ClientLogin Error codes
    /// </summary>
    public enum ClientLoginErrorCode
    {
        /// <summary>
        /// Indicates there is no error.
        /// </summary>
        None = 0,

        /// <summary>
        /// Response was an empty string.
        /// </summary>
        NoData = 1,

        /// <summary>
        /// No Auth token was included in the response.
        /// </summary>
        NoAuth,

        /// <summary>
        /// The login request used a username or password that is not recognized.
        /// </summary>
        BadAuthentication,

        /// <summary>
        /// The account email address has not been verified. The user will need to access their Google account directly to resolve the issue before logging in using a non-Google application.
        /// </summary>
        NotVerified,

        /// <summary>
        /// The user has not agreed to terms. The user will need to access their Google account directly to resolve the issue before logging in using a non-Google application.
        /// </summary>
        TermsNotAgreed,

        /// <summary>
        /// A CAPTCHA is required. (A response with this error code will also contain an image URL and a CAPTCHA token.)
        /// </summary>
        CaptchaRequired,

        /// <summary>
        /// The error is unknown or unspecified; the request contained invalid input or was malformed.
        /// </summary>
        Unknown,

        /// <summary>
        /// The user account has been deleted.
        /// </summary>
        AccountDeleted,

        /// <summary>
        /// The user account has been disabled.
        /// </summary>
        AccountDisabled,

        /// <summary>
        /// The user's access to the specified service has been disabled. (The user account may still be valid.)
        /// </summary>
        ServiceDisabled,

        /// <summary>
        /// The service is not available; try again later.
        /// </summary>
        ServiceUnavailable
    }
}
